Equal-Cost Multi-Path (ECMP) routing refers to a strategy in which traffic can flow over any number of different network paths that share the same cost to a given destination. Typically, ECMP is used for various purposes including capacity planning, path validation, load sharing, and the like. As ECMP can be used with many of the various routing protocols available, ECMP is in wide use in many networks.
Entropy labels, for example, are “random” label values included in a header field (e.g., an Internet Protocol (IP) header or a Multiprotocol Label Switched (MPLS) label stack) of a packet to facilitate ECMP based load-balancing (“flow entropy”). Without entropy labels in a network where devices (e.g., label-switching routers (LSRs)) are performing ECMP solely on the basis of the header field, packets with the same forwarding information (e.g., header/label stack) will typically all follow the same path since most ECMP implementations use the forwarding information (e.g., header/label stack) as the input to hash-based, load-balancing processes. When multiple flows have the same forwarding information this means they cannot be effectively load-balanced. Entropy labels solve this problem by giving the source router the ability to “tag” different flows with different entropy label values, resulting in different headers/label stacks for different flows and better ECMP load-balancing.